Transparent Interconnect of Lots of Links (TRILL) is an Internet Engineering Task Force (IETF) protocol that applies network layer routing protocols to the link layer in order to support Layer 2 multipathing. TRILL is designed to replace Spanning Tree Protocol (STP). STP networks establish and maintain a single loop free path among all bridges in a Virtual Local Area Network (VLAN), blocking all alternate paths. This results in inefficient use of available bridges and reduces aggregate bandwidth. TRILL addresses this problem by applying the Intermediate System-to-Intermediate System (IS-IS) Layer 3 routing protocol to Layer 2 devices. This essentially allows Layer 2 devices to route Ethernet frames through multiple paths which provides for higher throughput.
TRILL is implemented by network devices referred to as routing bridges, which are Layer 2 devices that can implement TRILL protocol, perform Layer 2 forwarding, and require little or no configuration. The location of a routing bridge is defined by its Media Access Control (MAC) address. A MAC address, also known as a hardware address or a physical address, is a unique identifier assigned to network interface controllers (NIC), also known as network adapters, for the purpose of communication on a physical network segment. MAC addresses are 12 digit hexadecimal numbers (48 bits in length) normally assigned at the time of manufacture and stored in hardware, read-only memory, or some other firmware mechanism. A network node, such as a routing bridge, may have multiple NICs, in which case, each NIC will have its own unique MAC address. A host cannot determine from the MAC address of another host whether that host is on the same network segment as the sending host, or on another network segment bridged to that network segment.
Typically, TRILL devices (routing bridges) run a link state protocol amongst themselves. The link state routing protocol typically used in current Layer 2 TRILL networks is Intermediate System to Intermediate System (IS-IS). A link state protocol is one in which connectivity information is broadcast to all the routing bridges in the network, such that each routing bridge is aware of all other routing bridges and the connectivity between them. This connectivity information enables routing bridges to compute pair-wise optimal or least cost paths for unicast, and to calculate distribution trees for delivery of frames either to destinations whose location are unknown or to multicast/broadcast groups.
IS-IS is designed to move information efficiently within a computer network. IS-IS operates by flooding link state information throughout a network of routing bridges. Each routing bridge independently collects the flooded network information and builds a database of the network's topology. IS-IS uses Dijkstra's algorithm to compute the optimal path through the network. Subsequent data packets are then forwarded based on the computed optimal path through the network to the destination.
For example, a frame is forwarded through a campus network utilizing the IS-IS link state protocol in the following manner. Initially, a unicast frame enters the campus network at the ingress routing bridge. The frame arrives with an inner header which contains the MAC addresses of the frame's source host and destination host (i.e., the intended recipient of the frame). The ingress routing bridge encapsulates the frame and adds a new TRILL header which includes the “nicknames” of the ingress routing bridge and the egress routing bridge, which is connected to the VLAN of the destination host.
The TRILL header includes a 6-bit decrementing hop count, the egress routing bridge nickname and the ingress routing bridge nickname. After the TRILL header is added, the ingress routing bridge determines the next hop routing bridge along the optimal path moving to the final destination, adds an outer header which includes the MAC address of the ingress routing bridge and the MAC address of the next hop routing bridge, and forwards the frame to the next hop routing bridge.
Once the next hop routing bridge receives the frame, it compares the egress routing bridge nickname in the TRILL header with its own. If the routing bridge determines it is not the egress routing bridge (i.e., the nickname in the TRILL header does not match its own), it determines the next step along the least cost path to the final destination as described above and forwards the frame onward.
This step is repeated by every routing bridge along the optimal path until the frame reaches the egress routing bridge. The egress routing bridge strips off the outer and TRILL header, decapsulates the frame and forwards the frame to the MAC address of the destination host specified in the inner header.
Link Layer Discovery Protocol (LLDP) is a form of neighbor discovery protocol. The primary difference between LLDP and IS-IS is that routing bridges using LLDP advertise their locations only to their neighboring or next hop routing bridges, as opposed to learning the entire network topology as in IS-IS systems. Each routing bridge collects the advertised next hop location information to compile an LLDP database containing the MAC addresses for each of its next hop routing bridges.